# 传统的打桩输出可以调试代码，但是繁琐，还需要删除print()
# 使用print()的地方可以使用 断言 assert来代替，启动Python解释器时可以用-O参数来关闭assert： $ python -O err.py
import logging
logging.basicConfig(level=logging.INFO)
# 它允许你指定记录信息的级别，有debug，info，warning，error等几个级别，当我们指定level=INFO时，
# logging.debug就不起作用了。同理，指定level=WARNING后，debug和info就不起作用了。
# 这样一来，你可以放心地输出不同级别的信息，也不用删除，最后统一控制输出哪个级别的信息


def foo(s):
    n = int(s)
    assert n != 0, 'n is zero!'  # n=0时，断言抛出后边的字符串
    # 表达式n != 0应该是True，否则，根据程序运行的逻辑，后面的代码肯定会出错。
    # 如果断言失败，assert语句本身就会抛出AssertionError：
    return 10 / n


foo(5)

ss = '0'
m = int(ss)
logging.info('m = %d' % m)
print(10 / m)
